package com.njts.homework;

/**
 * @author David GE
 * Date  2025/11/21
 * 1.定义动物类:
 * 	属性:
 * 		年龄
 * 	行为:
 * 		喝水,吃东西(吃什么不确定)
 * 2.定义游泳接口:
 * 	行为:
 * 		游泳方法swimming
 * 3.定义狗类:
 * 	行为:
 * 		吃饭(啃骨头)和 游泳(狗刨)
 * 4.定义羊类:sheep
 * 	行为:
 * 		吃饭(羊啃草)
 * 5.定义青蛙类:frog
 * 	行为:
 * 		吃饭(吃虫子)和 游泳(蛙泳)
 * 6.定义饲养员类:breeder
 * 	行为:
 * 		饲养动物breed:包括吃饭和喝水
 * 7.定义测试类:
 * 	创建饲养员对象,饲养员调用三次饲养方法:饲养狗,饲养羊,饲养青蛙
 * 		1.子类重写父类中的吃东西方法
 * 2.要求给狗和青蛙添加游泳的方法(实现游泳接口)
 * 	3.饲养员类中定义一个方法,传入动物类对象(父类),调用吃饭方法,如果有游泳方法也需进行测试
 */
public  abstract class Animals {
    int age;
    abstract void eat();
    public void drink(){
        System.out.println("喝水");
    }
}
interface Swimable{
    void swimming();
}
class Dogs extends Animals implements Swimable{

    @Override
    void eat() {
        System.out.println("狗啃骨头");
    }

    @Override
    public void swimming() {
        System.out.println("狗会狗刨");
    }
}

class Sheep extends Animals{

    @Override
    void eat() {
        System.out.println("羊啃草");
    }
}

class Frog extends Animals implements Swimable{

    @Override
    void eat() {
        System.out.println("青蛙吃虫子");
    }

    @Override
    public void swimming() {
        System.out.println("青蛙会蛙泳");
    }
}
class Breader{
    public void bread(Animals animals){
        animals.eat();
        animals.drink();
    }
}